Expand description

Rust wrapper around freetype 2 library

Initialization

To create a new freetype context, instantiate the Library struct as below. The Library (along with other objects) obeys RAII and is dropped when the struct goes out of scope.

Example

extern crate freetype;

fn main() {
    use freetype::Library;
    use freetype::face::LoadFlag;

    // Init the library
    let lib = Library::init().unwrap();
    // Load a font face
    let face = lib.new_face("/path/to/a/font/file.ttf", 0).unwrap();
    // Set the font size
    face.set_char_size(40 * 64, 0, 50, 0).unwrap();
    // Load a character
    face.load_char('A' as usize, LoadFlag::RENDER).unwrap();
    // Get the glyph instance
    let glyph = face.glyph();
    do_something_with_bitmap(glyph.bitmap());
}

See in the examples/ folder for more examples.

Re-exports

pub extern crate freetype_sys;
pub use bitmap::Bitmap;
pub use bitmap_glyph::BitmapGlyph;
pub use error::FtResult;
pub use error::Error;
pub use face::Face;
pub use glyph::Glyph;
pub use glyph_slot::GlyphSlot;
pub use library::Library;
pub use library::LcdFilter;
pub use outline::Outline;
pub use render_mode::RenderMode;
pub use stroker::Stroker;
pub use stroker::StrokerLineCap;
pub use stroker::StrokerLineJoin;
pub use freetype_sys as ffi;

Modules

Type Definitions